package Chapter3;

//72页程序3.8
public class ExceptionTest {
    public static void main(String[] args) {
        int i =0;
        String[] greetings ={ "Hello World!", "No,I mena it!", "HELLO WORLD!" };
        while (i<=3){
            try{
                System.out.println(greetings[i]);   //try块标出可能会出现异常的代码
            } catch (ArrayIndexOutOfBoundsException e){ //该catch块表示出现数组下标溢出异常怎么处理，该catch块是具体的异常
                System.out.println("数组下标出现越界，将结束程序！");
                System.exit(i);
            } catch (Exception e){ //该catch块是出现更大范围的异常如何处理，下标异常是Exception的后代类
                System.out.println(e.toString());  //出现其他异常将调用toString，表示输出异常类型和详细信息
            } finally {
                System.out.println("---------");   //finally语句块中的内容总是会执行
            }
            i++;
        }
    }
}
//该程序是每当i+1时，打印数组内的内容。若i的值0~2内不会出现异常，当i=3时，数组下标会越界，执行i重置，并退出，否则进入死循环。